# 从环境变量加载配置（避免硬编码敏感信息）
import os
from dotenv import load_dotenv

# 加载.env文件（本地开发用）
load_dotenv()

class Settings:
    # MongoDB配置
    MONGODB_URI = os.getenv("MONGODB_URI", "mongodb://root:123456@ez-chatdb:27017/")
    MONGODB_DB_NAME = os.getenv("MONGODB_DB_NAME", "ai_chat_system")  # 与Node.js共用数据库
    MONGODB_CHAT_COLLECTION = "chat_records"  # 对话记录表
    MONGODB_SESSION_COLLECTION = "chat_sessions"  # 对话会话表

    # 大模型配置（硅基流）
    LLM_API_KEY = os.getenv("LLM_API_KEY", "sk-tcenbsmknfozexjkdlrffcvlufyozvazenisgdjimehaltdk")
    LLM_BASE_URL = os.getenv("LLM_BASE_URL", "https://api.siliconflow.cn/v1")
    LLM_DEFAULT_MODEL = "Qwen/Qwen2.5-7B-Instruct"  # 默认模型

    # 对话默认参数
    DEFAULT_HISTORY_LEN = 5  # 默认保留历史轮数
    DEFAULT_TEMPERATURE = 0.5  # 默认采样温度
    DEFAULT_TOP_P = 0.5  # 默认采样概率
    DEFAULT_MAX_TOKEN = None  # 默认最大Token（None表示模型默认）

# 实例化配置（全局单例）
settings = Settings()